//1299. 将每个元素替换为右侧最大元素
//思路：开一个与原数组一样大的数组v
//将开出的数组v尾元素赋值为-1，逆序比较原数组arr[i+1]与新数组的v[i+1]位置元素哪个大，大的赋值给v[i]
//这样不断走新数组从尾到头一直都存放的是i位置右边元素的最大值


#include <vector>
#include <algorithm>
using namespace std;

class Solution {
public:
    vector<int> replaceElements(vector<int>& arr) {
        int n = arr.size();
        vector<int> v(n);
        v[n-1] = -1;
        
        for(int i = n-2; i >= 0; --i)
        {
            v[i] = max(v[i+1], arr[i+1]);
        }
        return v;
    }
};